package com.zrrd.yunchmall.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 商品信息
 * </p>
 *
 * @author LiYe
 * @since 2024-01-15
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Document(indexName = "pms_product", createIndex = false)
public class Product implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    private Long id;

    private Long brandId;

    private Long productCategoryId;

    private Long cateParentId;

    private Long feightTemplateId;

    private Long productAttributeCategoryId;

    private String name;

    private String pic;

    private String productSn;

    private Integer deleteStatus;

    private Integer publishStatus;

    private Integer newStatus;

    private Integer recommandStatus;

    private Integer verifyStatus;

    private Integer sort;

    private Integer sale;

    private BigDecimal price;

    private BigDecimal promotionPrice;

    private Integer giftGrowth;

    //    @ApiModelProperty("赠送的成长值")("赠送的积分")
    private Integer giftPoint;

    //    @ApiModelProperty("赠送的成长值")("限制使用的积分数")
    private Integer usePointLimit;

    //    @ApiModelProperty("赠送的成长值")("副标题")
    private String subTitle;

    //    @ApiModelProperty("赠送的成长值")("商品描述")
    private String description;

    //    @ApiModelProperty("赠送的成长值")("市场价")
    private BigDecimal originalPrice;

    //    @ApiModelProperty("赠送的成长值")("库存")
    private Integer stock;

    //    @ApiModelProperty("赠送的成长值")("库存预警值")
    private Integer lowStock;

    //    @ApiModelProperty("赠送的成长值")("单位")
    private String unit;

    //    @ApiModelProperty("赠送的成长值")("商品重量，默认为克")
    private BigDecimal weight;

    //    @ApiModelProperty("赠送的成长值")("是否为预告商品：0->不是；1->是")
    private Integer previewStatus;

    //    @ApiModelProperty("赠送的成长值")("以逗号分割的产品服务：1->无忧退货；2->快速退款；3->免费包邮")
    private String serviceIds;

    //    @ApiModelProperty("赠送的成长值")("商品关键词")
    private String keywords;

    //    @ApiModelProperty("赠送的成长值")("备注")
    private String note;

    //    @ApiModelProperty("赠送的成长值")("画册图片，连产品图片限制为5张，以逗号分割")
    private String albumPics;

    //    @ApiModelProperty("赠送的成长值")("详细标题")
    private String detailTitle;

    //    @ApiModelProperty("赠送的成长值")("详细描述")
    private String detailDesc;

    //    @ApiModelProperty("赠送的成长值")("产品详情网页内容")
    private String detailHtml;

    //    @ApiModelProperty("赠送的成长值")("移动端网页详情")
    private String detailMobileHtml;

    //    @ApiModelProperty("赠送的成长值")("促销开始时间")
    private LocalDateTime promotionStartTime;

    //    @ApiModelProperty("赠送的成长值")("促销结束时间")
    private LocalDateTime promotionEndTime;

    //    @ApiModelProperty("赠送的成长值")("活动限购数量")
    private Integer promotionPerLimit;

    //    @ApiModelProperty("赠送的成长值")("促销类型：0->没有促销使用原价;1->使用促销价；2->使用会员价；3->使用阶梯价格；4->使用满减价格；5->限时购")
    private Integer promotionType;

    //    @ApiModelProperty("赠送的成长值")("品牌名称")
    private String brandName;

    //    @ApiModelProperty("赠送的成长值")("商品分类名称")
    private String productCategoryName;
}
